<!DOCTYPE html>
<html>
	<head>
		<meta charset="{CHARSET}">
		<title></title>
	</head>
	<body>
		<h3>Contents lists available at SciVerse ScienceDirect <br />
			
			Future Generation Computer Systems<br />
			
			journal homepage: www.elsevier.com/locate/fgcs
		</h3>
		<h2>
			Developing front-end Web 2.0 technologies to access services, content and things in the future Internet
		</h2>
		<p>
			Juan Alfonso Lara, David Lizcano, , María Aurora Martínez, Juan Pazos<br />
			Universidad a Distancia de Madrid, UDIMA, 28400, Collado Villalba, Madrid, Spain
			Facultad de Informática, Universidad Politecnica de Madrid, 28660, Boadilla del Monte, Madrid, Spain
		</p>
		<h4>
			article	info<br />
			Article history:<br />

			Received 19 October 2012 Received in revised form 4 January 2013<br />
			Accepted 19 January 2013 Available online 29 January 2013<br />
			
			Keywords:<br />
			
			Future Internet<br />
			
			Internet of services<br />
			
			Web 2.0<br />
			
			Service front-ends<br />
			
			User–service interaction<br />
			
			Context<br />
			
			SOA<br />
		</h4>
		<h3>abstract</h3>
		<p>
			The future Internet is expected to be composed of a mesh of interoperable web services accessible from all over the web. This approach has not yet caught on since global user–service interaction is still an open issue. This paper states one vision with regard to next-generation front-end Web 2.0 technology that will enable integrated access to services, contents and things in the future Internet. In this paper, we illustrate how front-ends that wrap traditional services and resources can be tailored to the needs of end users, converting end users into prosumers (creators and consumers of service-based applications). To do this, we propose an architecture that end users without programming skills can use to create front-ends, consult catalogues of resources tailored to their needs, easily integrate and coordinate front-ends and create composite applications to orchestrate services in their back-end. The paper includes a case study illustrating that current user-centred web development tools are at a very early stage of evolution. We provide statistical data on how the proposed architecture improves these tools. This paper is based on research conducted by the Service Front End (SFE) Open Alliance initiative.
			<br />
			© 2013 Elsevier B.V. All rights reserved.
		</p>
		<h3>
			1. Introduction
		</h3>
		<p>
			Service-Oriented Architectures (SOA) have attracted a great deal of interest in the last few years. SOAs increase asset reuse, reduce integration expenses and improve the agility with which businesses respond to new demands <br />
			　　Until now, however, mainstream development and research into SOA has focused mainly on middleware and scalability, service engineering and automating service composition using BPM (Business Process Management) technologies. Little or no attention has been paid to service front-ends, which we believe to be a fundamental part of SOAs [2]. Consequently, SOAs remain on a technical layer hidden to end users.<br />
			　　End users access tens of web portals every day to search for information, invoke services, make queries, etc. All of these are very time consuming. End users make use of web services and resources as rendered by service providers. Despite advances in SOA, Business-To-Consumer (B2C) solutions are confined to web applications developed by a professional programmer and offered to end users, even though there is generally a gap between the provided application and end-user needs.
			
		</p>
		<p>
			　　Users in many Information and Communication Technology (ICT) areas have started using languages and tools (like spread-sheets) that do not require programming skills to develop their own software solutions. This approach is known as End-User De-velopment (EUD). Users have tried to export these ideas to web ap-plications development based on commercial mashup portals (like JackBe Presto, iGoogle, OpenKapow, etc.), visual languages for gen-erating complex data sources in Rich Site Summary (RSS) format (like Yahoo!Pipes), etc. But end users have a problem with this technology: users that have no service-oriented programming or computing skills are unable to use the resources available on the Internet. This results in an epistemological problem: users are un-able to learn to use, access and manage these resources to solve ev-eryday problems in support of their routine work. This is the open problem that we intend to address in this paper.
			
		</p>
		<p>
			　　The evolution of Web 2.0-based portals and user-friendly interfaces has led to a major advance in service usability. However, existing web-based service front-ends fall short of end-user expectations [3]. Applications and information portals are still based on monolithic, inflexible, non-context-aware, non-customizable and unfriendly user interfaces. Consequently, end users do not really benefit from the advantages of modularity, flexibility and composition promoted by service orientation [4]. Also service front-ends are not built using formal engineering methods; they are constructed ad hoc without tools that could speed up time to market.
　　
		</p>
		<p>
			　　In this paper, we present an architecture designed to enable users without programming skills to build composite web applications whose back-end is based on web services. To do this, the architecture wraps current web services using a front-end adapted to user needs and provides a visual composition model for users to orchestrate, invoke and tailor services to their individual needs. We use this next-generation service front-end architecture in a case study to examine the following Research Questions (RQ):<br />
			<ul>
				<li>1.Are end users able to build a composite web application using today’s EUD tools and initiatives?</li>
				<li>2.Does the proposed architecture increase the number of end users that manage to build a composite web solution?</li>
				<li>3.From the qualitative viewpoint, do potential users find the proposed architecture useable, operational and stable?</li>
			</ul>
		</p>
		<p>
			
　　			The architecture is structured around several visual compo-nents or building blocks of varying levels of abstraction, ranging from web mashups to visual elements like forms, buttons, etc. The main component is a gadget. A gadget is a component that uses a visual interface to abstract web service or resource invocation. Gadgets can be visually created, tailored and interlinked by users to manage a web service or a set of web services that performs an atomic function through an interface tailored to user needs. A gadget might be a component that outputs a map location from an address input, an application for purchasing transport tickets or an email inbox filter. The architecture offers modules for creating gadgets and for integrating and intercommunicating gadgets with each other for use as a web application, for cataloguing and shar-ing, etc. Section 2 discusses the service front-end problem and the background of our proposal. Section 3 proposes an architecture en-abling the creation of new ecosystems where all stakeholders will be able to collaboratively develop capabilities and innovate new operating procedures by mixing and integrating available services. Section 4 presents our implementation of the proposed architec-ture. Section 5 sets out the results of an empirical study carried out to validate this architecture, illustrating its success compared to other approaches. Finally, Section 6 discusses the results, and Section 7 explains the main conclusions of this research.

		</p>
		<h3>
			2. State of the art
		</h3>
		<p>
			　　The provision and consumption of information-intensive electronic services across corporate boundaries has attracted con-siderable interest over the past few years. For example, the web services technology protocol stack [1] was expected to act as ef-ficient and agile ‘‘plumbing [· · ·] for information systems to in-teract without human involvement’’ [5]. Following the design principles suggested by SOAs, web services provide a uniform, system-independent way for interlinking dispersed electronic ser-vices. While technology and standards are important for achieving the vision of a globally networked, agile service economy, it has been widely recognized today that they are not sufficient on their own [3]. Analyses of today’s cross-organizational service intercon-nections following the SOA paradigm have resulted in the identifi-cation of the following major weaknesses [6]:
			<br />
			
		</p>
		<ul>
			<li>Rigid and process-oriented composition. SOAs’ inherent potential has not yet been unleashed. Adherence to merely process-oriented design guidelines leads to rigid applications that cause huge reprogramming efforts in the event of changes. As in the 1970s, where the prevalence of spaghetti code-like software programming led to application unmanageability and unchangeability (the ‘‘software crisis’’ [7,8], the application of inflexible service orchestration techniques (e.g., based on Business Process Execution Languages (BPEL)) prevents SOAs from being truly agile today. Not until the principles of structured programming and object-oriented programming

were employed could the crisis be resolved. Today’s SOA context calls for a novel design methodology that incorporates the principle of modularity, emphasizes structural rather than process-oriented organization and paves the way for a more declarative (as opposed to imperative) approach to service orchestration.
			</li>
			<li>
				Non-interoperability. A second major issue concerning today’s SOAs is service interoperability. Sometimes referred to as the corporate household problem, information objects, defined as service input or output messages, are based on highly pro-prietary specifications. The resulting semantic and syntactic heterogeneity causes significant mapping efforts when differ-ent services are to be interlinked. This often leads to errors and increased costs. In order to enhance the productivity of service-oriented computing, novel composition support tools are required that draw on metadata attached to service inter-faces and help to automate parts of mapping tasks.
				
			</li>
			<li>
				Limited retrievability. Another roadblock on the way to a net-worked service economy in today’s Internet is the dearth of comprehensive, trustworthy and widely accepted service registries. In fact, users are dependent on a number of in-termediaries that provide rich navigation, as well as improve transparency and thus fulfil institutional functionality. Future intermediaries should continuously gather data about regis-tered services in order to provide potential users with detailed insights into an otherwise baffling market of electronic re-sources. Besides transparency, navigability is required to opti-mally locate the services that meet a user’s needs.
				
			</li>
			<li>
				Mute and autistic service interfaces. Technologies such as the above web services protocol stack aim at supporting the setup of loosely coupled application interactions especially in a pro-fessional context and assume users to be technically sophisti-cated. Web Service Description Language-based interfaces, for example, do not cater for a rich interaction between machines and human users, but rather focus on automated machine-to-machine interoperation. Also, services are seldom context aware: parameters specifying environmental conditions are not considered during service provision, thereby degrading the ser-vice quality that users experience. Finally, currently available service retrieval platforms, composition and utilization do not allow for the explicit knowledge sharing or implicit derivation of recommendations from user behaviour. Future platforms will have to account for such social aspects of service-oriented com-puting in order to facilitate productivity.
				
			</li>
		</ul>
		<p>
			　　Many projects have tried to address these or a subset of these problems. For example, the European Union Seventh Framework (EU FP7) FAST project1 aimed to provide an innovative visual programming environment to facilitate the development of next-generation composite user interfaces. Another EU FP7 project, OPEN,2 aimed to develop an environment enabling people to continue to perform their tasks on the move or using other interaction devices. The strategic Networked European Software and Services Initiative (NESSI) project, EzWeb,3 aimed to develop an enriched enterprise mashup platform and key technologies for use in the construction of the front-end layer of a new generation SOA architecture. The European Union Sixth Framework (EU FP6) InContext project4 aimed at developing a novel scientific approach to the problem of enabling diverse individual knowledge workers at separate organizations to work in effective team collaboration with one another. The Eureka CELTIC MyMobileWeb project5 was the open source reference implementation of a next-generation content and application adaptation platform for the mobile web. All these projects were part of the SFE Open Alliance. The SFE Open Alliance aims to integrate the results of relevant research and development projects in order to produce open specifications and an open source reference implementation of components for an envisioned Web 2.0 platform to access services, contents and things in the future Internet.
			
		</p>
		<p>
			　　All these projects attest to there being major interest in building an architecture for using web services tailored to end-user needs. However, none has managed to meet the needs of end users throughout the entire service-based composite web applications development cycle.
			
		</p>
		<p>
			　　Most of these projects and architectures share a common idea: tailor web services for users in order to overcome the obstacles preventing users without advanced programming skills from accessing SOAs. Keidl and Kemper [9] pioneered work in this respect, proposing a mechanism for tailoring web services to the context of use from which they are invoked. The problem with this proposal is that they merely tailor the services, but no support is provided for users to parameterize these services or create a new service-based application without having to modify the actual service source code, which calls for high-level programming knowledge.
			
		</p>
		<p>
			　　Many other papers focused on how to offer users a platform from which to be able to visually create a web application from its front-end. Such platforms, commonly referred to as mashup platforms, have empowered users to develop small web applications. These platforms were what motivated this research. Major manufacturers, like Yahoo!, Google, Microsoft, Kapow or Apple, sold data or web component mashup development portals like Yahoo! Pipes and Dapper, iGoogle, PopFly, OpenKapow, RoboMaker, Apple Dashboards, etc. However, the experience gathered from many European projects suggests that users are still unable to develop composite applications using these portals, a point that the first research question addressed in this paper intends to investigate. Additionally, tool proliferation points to the need for a global platform, like MashArt [10], or a standard and common web components (gadgets) definition language [11], capable of using all their specialized components. The drawback with MashArt is that it does not empower users to create new web components, and its potential is confined to using and parameterizing existing services. On the other hand, the language defined by Agahee and Pautasso is able to standardize the metadata of the components in use, but does not account for the possibility of interlinking or orchestrating the components, meaning that such metadata are insufficient for a future where users can interlink web services.　　Many other papers focused on how to offer users a platform from which to be able to visually create a web application from its front-end. Such platforms, commonly referred to as mashup platforms, have empowered users to develop small web applications. These platforms were what motivated this research. Major manufacturers, like Yahoo!, Google, Microsoft, Kapow or Apple, sold data or web component mashup development portals like Yahoo! Pipes and Dapper, iGoogle, PopFly, OpenKapow, RoboMaker, Apple Dashboards, etc. However, the experience gathered from many European projects suggests that users are still unable to develop composite applications using these portals, a point that the first research question addressed in this paper intends to investigate. Additionally, tool proliferation points to the need for a global platform, like MashArt [10], or a standard and common web components (gadgets) definition language [11], capable of using all their specialized components. The drawback with MashArt is that it does not empower users to create new web components, and its potential is confined to using and parameterizing existing services. On the other hand, the language defined by Agahee and Pautasso is able to standardize the metadata of the components in use, but does not account for the possibility of interlinking or orchestrating the components, meaning that such metadata are insufficient for a future where users can interlink web services.
			
		</p>
		<p>
			　　Recent work addressing the above weaknesses is starting to focus on front-ends. Bianchini et al. [12,13], for example, focus on how to provide visual elements in a registry or catalogue for use for generating Web Application Programming Interfaces (APIs) based on selection patterns. They introduce only interface elements for creating front-ends. They do not empower users to attach an operational back-end to such elements to integrate interfaces with web services. Therefore, they do not solve the problem set out here.
			
		</p>
		<p>
			　　On this ground, the design of a web service architecture that offers a front-end tailored to the needs of users whom it empowers to create their own composite solutions based on existing services is still an open problem. This problem now poses an even greater challenge than the goals pursued by the research reported above. The purpose of this paper is to define and validate this architecture.
			
		</p>
		<p>
			　　The state of the art paints a picture where the research conducted so far has set forth a set of guidelines for addressing this challenge. These guidelines are the result of an a posteriori definition based on the developments reported by the above researchers and projects. These guidelines are listed below:
			
		</p>
		<ul>
			<li>Empowering users to author and share their operating workspace and applications. Traditional user–service interaction should be enhanced by facilitating the selection, creation, composition, customization, reuse and sharing of applications in a person-alized operating environment [14].Empowering users to author and share their operating workspace and applications. Traditional user–service interaction should be enhanced by facilitating the selection, creation, composition, customization, reuse and sharing of applications in a person-alized operating environment [14].
			</li>
			<li>
				
Constructing ubiquitous and context-aware service front-ends. New generation service front-ends should have the capability to detect, represent, manipulate, and use contextual information to seamlessly adapt to each situation, supporting human users in a more effective, personalized and consistent way [3]. Novel engineering tools and methods should be devised in order to support context-aware service front-ends. This guideline will drive the construction of novel service front-ends capable of using contextual information to influence their behaviour, thus supporting human users in a more effective and personalized way [15].

			</li>
			<li>
				Capturing and exploiting user’s knowledge in service front-ends. This principle aims to exploit user domain knowledge and collective intelligence to improve service front-ends. End-user knowledge can be used to tag resources using light semantics, provide service interaction support, enrich contextual information (for example, by means of automatic user profiling) and infer new candidate processes to be later automated (on the back-end) [5].
				
			</li>
			<li>
				Constructing a new generation of collaborative, user-centric and context-aware ICT systems. Enterprise systems should incorporate advanced user-centric, context-aware front-ends to enable their employees and other stakeholders to exploit, and share their extensive domain expertise and their thorough business knowledge [4]. Employees, customers, developers and providers will collaborate to create and improve enterprise applications, sharing, reusing, changing and combining existing context-aware components (services, contents, things . . .) [16].Constructing a new generation of collaborative, user-centric and context-aware ICT systems. Enterprise systems should incorporate advanced user-centric, context-aware front-ends to enable their employees and other stakeholders to exploit, and share their extensive domain expertise and their thorough business knowledge [4]. Employees, customers, developers and providers will collaborate to create and improve enterprise applications, sharing, reusing, changing and combining existing context-aware components (services, contents, things . . .) [16].
				
			</li>
		</ul>
		<p>
			　　In response to this open problem, we present an architecture that helps end users to create composite web applications. It empowers end users without programming skills to use existing web services. This architecture solves the open problem and is also used to conduct an empirical study to investigate the research questions stated in Section 1.
			
		</p>
		<h3>
			3. High-level architecture proposed to achieve the Internet of services
		</h3>
		<p>
			　　In this section we propose a novel architecture for next-generation service front-ends. This architecture has been devised in accordance with the presented guidelines set forth in the state of the art. For the sake of clarity, we have separated the authoring and run time phases of the service front-end lifecycle (see Fig. 1).
			
		</p>
		<p>
			Gadgets will be, as has been explained above, the main building blocks of this architecture. They are relatively simple self-contained front-end components focused on a single goal that can be grouped into workspaces.
			
		</p>
			
		<p>
			　　Our proposed architecture for the authoring phase includes two main components:
		</p>
		<p>
			A user-centric Integrated Development Environment (IDE) (Fig. 1(a)), which is a gadget authoring tool devoted to gadget design and creation. This is a visual tool that helps users with programming skills to create their own service front-end resources [17]. Using this user-oriented IDE, gadget authors will be able to visually design, reuse and share gadget screens, flows
			and back-end resource compositions or connectors. Authors will easily compose a gadget from a series of finer-grained building blocks, such as forms, operators, and other authoring resources, available in a palette. This palette is actually a specific view of the resource catalogue and can contain User Interface (UI) artefacts (screens), operators, screenflows, off-the-shelf back-end resources and compositions, etc. Current examples of this kind of tool are Yahoo!Pipes, Kapow RoboMaker or FAST.
			
		</p>
		<p>
			A workspace editing tool (Fig. 1(b)) intended to design user tailored workspaces, like a mashup editor. Users can use this tool to visually design, reuse and share their workspaces by selecting, connecting and composing the most suitable gadgets for solving a domain problem. The ultimate goal is to create new, modular and anticipated service front-ends (instant applications) by combining gadgets. Each user can have and share any number of workspaces with other members of the community. Current examples of this kind of tool are iGoogle, Yahoo!Dapper, OpenKapow or EzWeb.
			
		</p>
		<p>
			These two tools will be supported by at least the following formalisms:
		</p>
		
	</body>
</html>
